package com.glink.manage.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glink.manage.domain.PatrolIntelligentEquip;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * @author  glink
 * @since  2024-07-01
 */
public interface PatrolIntelligentEquipMapper extends BaseMapper<PatrolIntelligentEquip> {

    /**
     * 根据同步状态查询智能设备信息
     * @param syncStatus 同步状态
     * @return 智能设备信息
     */
    List<PatrolIntelligentEquip> findAllBySyncStatus(@Param("syncStatus") String syncStatus);

    /**
     * 更新同步状态信息
     *
     * @param objId        智能设备ID
     * @param syncStatus   同步状态
     * @param syncTime     同步时间
     * @param syncFailMsg  同步失败信息
     * @param syncFailTime 同步失败时间
     */
    void updateSyncInfo(@Param("objId") String objId, @Param("syncStatus") String syncStatus, @Param("syncTime") Date syncTime, @Param("syncFailMsg") String syncFailMsg, @Param("syncFailTime") Date syncFailTime);

    /**
     * 根据设备编码查询设备信息
     * @param patrolDeviceCodeSet 设备编码
     * @return 设备信息
     */
    List<PatrolIntelligentEquip> findPatrolDeviceNameByPatrolDeviceCodeIn(@Param("patrolDeviceCodeSet") Set<String> patrolDeviceCodeSet);
    
}
